<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>Page - test</title>
    <link href="https://www.yunjingzhi.com/yunjingservice/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    <style style="display: block;">
        img {
            cursor: pointer;
            max-width: 100%;
        }

        #touch-box {
            transition: all .2s;
        }

    </style>
</head>

<body>
    <div id="box">
        <div style="overflow-x:hidden;border:1px solid salmon;border-radius:5px;padding:10px;margin:6px;">
            id="box" style="overflow-x:hidden;"<br>
            <b>使用云净-bootstrap - 云净-jQuery-mobile</b>
            <div style="min-height:120px;width:120vw;border:2px solid #ddd;margin:10px 0;" id="touch-box">
                当手势开始时，浏览器与触摸的元素及其所有祖先的触摸动作值相交直到一个实现手势（换句话说，第一个包含滚动元素）的触摸动作值。
                这意味着在实践中，触摸动作通常仅适用于具有某些自定义行为的单个元素，而无需在该元素的任何后代上明确指定触摸动作。 手势开始之后，触摸动作值的更改将不会对当前手势的行为产生任何影响。
            </div>
        </div>
        <div style="padding:10px;"><img
                src="https://ss0.bdstatic.com/9bA1vGfa2gU2pMbfm9GUKT-w/timg?wisealaddin&sec=1561202034&di=ef630894db11de90e14e46dc768f12cd&quality=100&size=f320_180&src=http%3A%2F%2Fpic.rmb.bdstatic.com%2F6378033e9ce2f82bab9781cdbfb123df.jpeg"
                alt=""></div><br>

        当手势开始时，浏览器与触摸的元素及其所有祖先的触摸动作值相交直到一个实现手势（换句话说，第一个包含滚动元素）的触摸动作值。
        这意味着在实践中，触摸动作通常仅适用于具有某些自定义行为的单个元素，而无需在该元素的任何后代上明确指定触摸动作。 手势开始之后，触摸动作值的更改将不会对当前手势的行为产生任何影响。
        默认情况下，平移（滚动）和缩放手势由浏览器专门处理。 使用 Pointer_events 的应用程序将在浏览器开始处理触摸手势时收到一个 pointercancel 事件。 通过明确指定浏览器应该处理哪些手势，应用程序可以在
        pointermove 和 pointerup 监听器中为其余的手势提供自己的行为。 使用 Touch_events 的应用程序通过调用 preventDefault()
        禁用浏览器处理手势，但也应使用触摸操作确保浏览器在调用任何事件侦听器之前，了解应用程序的意图。

        当手势开始时，浏览器与触摸的元素及其所有祖先的触摸动作值相交直到一个实现手势（换句话说，第一个包含滚动元素）的触摸动作值。
        这意味着在实践中，触摸动作通常仅适用于具有某些自定义行为的单个元素，而无需在该元素的任何后代上明确指定触摸动作。 手势开始之后，触摸动作值的更改将不会对当前手势的行为产生任何影响。
        默认情况下，平移（滚动）和缩放手势由浏览器专门处理。 使用 Pointer_events 的应用程序将在浏览器开始处理触摸手势时收到一个 pointercancel 事件。 通过明确指定浏览器应该处理哪些手势，应用程序可以在
        pointermove 和 pointerup 监听器中为其余的手势提供自己的行为。 使用 Touch_events 的应用程序通过调用 preventDefault()
        禁用浏览器处理手势，但也应使用触摸操作确保浏览器在调用任何事件侦听器之前，了解应用程序的意图。

        当手势开始时，浏览器与触摸的元素及其所有祖先的触摸动作值相交直到一个实现手势（换句话说，第一个包含滚动元素）的触摸动作值。
        这意味着在实践中，触摸动作通常仅适用于具有某些自定义行为的单个元素，而无需在该元素的任何后代上明确指定触摸动作。 手势开始之后，触摸动作值的更改将不会对当前手势的行为产生任何影响。
    </div>

    <script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.js"></script>
    <script src="https://www.yunjingzhi.com/yunjingservice/js/jquery/mobile/jquery.mobile.custom.min.js"></script>
    <!-- <script src="https://cdn.bootcss.com/jquery-mobile/1.4.5/jquery.mobile.js"></script> -->
    <script src="https://cdn.bootcss.com/layer/2.3/layer.js"></script>
    <script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.4/js/bootstrap.js"></script>
    <script>
        var str = '',
            bum = 0;

        function ab() {
            return 3
        }
        var s = $("#touch-box");
        s.on("touchstart", function () {
            s.html(s.html() + " " + bum);
            bum++;
        })
        s.on("swipeleft", function () {
            layer.msg("left")
            s.css("transform", "translate(-200px ,0)");
        })
        s.on("swiperight", function () {
            layer.msg("right");
            //transform: translate(48px, 10px);
            s.css("transform", "translate(0, 0)");
        })
        s.on("click.fd", function () {
            console.log("x")
        })
        $("#box").on("blur.hf", function () {

        })

        function dbtest(r) {
            console.log("yy")
        }
        $("#box").on("click.hf", "#touch-box", dbtest)
    </script>
</body>

</html>